

#pragma once
#include <cinatra.hpp>
#include <iostream>
#include "base_controller.hpp"

using namespace std;
using namespace cinatra;


namespace bz
{
	class meet;
	class meet_controller :public base_controller
	{
	public:
		meet_controller();
		~meet_controller();

		async_simple::coro::Lazy<void> index(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> add(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> remove(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> update(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> start_meet(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> end_meet(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> get(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> edit_get(coro_http_request& req, coro_http_response& res);


		async_simple::coro::Lazy<void> hand_terminal(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> muti_hand_terminal(coro_http_request& req, coro_http_response& res);

		async_simple::coro::Lazy<void> hand_all_invite(coro_http_request& req, coro_http_response& res);

		async_simple::coro::Lazy<void> hand_all_sound(coro_http_request& req, coro_http_response& res);

		async_simple::coro::Lazy<void> change_layout(coro_http_request& req, coro_http_response& res);

		async_simple::coro::Lazy<void> get_poll_setting(coro_http_request& req, coro_http_response& res);

		async_simple::coro::Lazy<void> add_poll_plan(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> update_poll_plan(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> remove_poll_plan(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> set_meet_poll(coro_http_request& req, coro_http_response& res);

		async_simple::coro::Lazy<void> hand_poll(coro_http_request& req, coro_http_response& res);


		async_simple::coro::Lazy<void> hand_ter_poll(coro_http_request& req, coro_http_response& res);

		async_simple::coro::Lazy<void> subscribe_terminal_detail(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> unsubscribe_terminal_detail(coro_http_request& req, coro_http_response& res);


		async_simple::coro::Lazy<void> get_terminal_detail(coro_http_request& req, coro_http_response& res);

		/*async_simple::coro::Lazy<void> get_link_detail(coro_http_request& req, coro_http_response& res); */



		async_simple::coro::Lazy<void> hand_link(coro_http_request& req, coro_http_response& res);

		async_simple::coro::Lazy<void> change_main(coro_http_request& req, coro_http_response& res);


		async_simple::coro::Lazy<void> invite_terminal(coro_http_request& req, coro_http_response& res);
		async_simple::coro::Lazy<void> camera_control(coro_http_request& req, coro_http_response& res);



		

	private:

		
		meet* model_;
	};


}